package com.wjh.anyview.service;

import com.wjh.anyview.entity.bo.courseServiceBo.InstitutionGradeBo;
import com.wjh.anyview.entity.dto.CommonResult;
import com.wjh.anyview.entity.po.Course;
import com.wjh.anyview.entity.vo.courseControllerVo.CourseInfoVo;

import java.util.List;

/**
 * @author wjh
 * @date 2021/10/9 18:52
 * @Package com.wjh.anyview.service
 */
public interface CourseService {
    /**
     * 添加一门课程
     *
     * @param course 封装课程信息的实体类对象
     * @return 没有数据返回
     */
    CommonResult<?> saveCourse(Course course);

    /**
     * 通过课程id修改课程
     *
     * @param course 课程新信息的封装po类
     * @return 没有数据返回
     */
    CommonResult<?> updateCourseById(Course course);

    /**
     * 通过课程id删除课程
     *
     * @param courseId 要被删除的课程id
     * @return 没有数据返回
     */
    CommonResult<?> deleteCourseById(Long courseId);

    /**
     * 根据学术机构和年级查询课程
     *
     * @param institutionGradeBo 学术机构id和年级
     * @return 返回课程信息的List集合
     */
    CommonResult<List<CourseInfoVo>> listCourseByInstitutionGrade(InstitutionGradeBo institutionGradeBo);

}
